package com.nondo.dean.order.model.result;

import com.nondo.dean.common.tool.BeanUtils;
import com.nondo.dean.order.domain.OrderDetail;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author xiaofan
 * @Description:
 * @throws
 * @date 2018-04-2310:14
 * @Version 0.1
 */
public class OrderSubjectDetailResult {
    /**
     *
     * 主键ID
     */
    private Integer id;
    /**
     * 产品编号
     */
    private String productCode;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 事业部代码
     */
    private String businessCode;
    /**
     * 产品单位
     */
    private String productUnit;
    /**
     * 产品价格等级 0.正价；1.特价；2.活动款
     */
    private Integer productPriceGrade;
    /**
     * 产品价格
     */
    private BigDecimal productPrice;
    /**
     * 产品数量
     */
    private Integer purchaseQuantity;
    /**
     * 产品数量对应的金额
     */
    private BigDecimal amount;
    /**
     * '异型调价
     */
    private BigDecimal specialPrice;
    /**
     * PO项目
     */
    private String poItem;
    /**
     * 备注
     */
    private String note;

    /**
     * 上级ID
     */
    private Integer upId;

    /**
     * 上级产品编号
     */
    private String upCode;

    /**
     * 软体标示
     */
    private String prodisrt;

    private List<OrderDetailResult> childList;

    public List<OrderDetailResult> getChildList() {
        return childList;
    }

    public void setChildList(List<OrderDetailResult> childList) {
        this.childList = childList;
    }

    public Integer getUpId() {
        return upId;
    }

    public void setUpId(Integer upId) {
        this.upId = upId;
    }

    public String getUpCode() {
        return upCode;
    }

    public void setUpCode(String upCode) {
        this.upCode = upCode;
    }

    public String getProdisrt() {
        return prodisrt;
    }

    public void setProdisrt(String prodisrt) {
        this.prodisrt = prodisrt;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getBusinessCode() {
        return businessCode;
    }

    public void setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
    }

    public String getProductUnit() {
        return productUnit;
    }

    public void setProductUnit(String productUnit) {
        this.productUnit = productUnit;
    }

    public Integer getProductPriceGrade() {
        return productPriceGrade;
    }

    public void setProductPriceGrade(Integer productPriceGrade) {
        this.productPriceGrade = productPriceGrade;
    }

    public BigDecimal getProductPrice() {
        return productPrice;
    }

    public void setProductPrice(BigDecimal productPrice) {
        this.productPrice = productPrice;
    }

    public Integer getPurchaseQuantity() {
        return purchaseQuantity;
    }

    public void setPurchaseQuantity(Integer purchaseQuantity) {
        this.purchaseQuantity = purchaseQuantity;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getSpecialPrice() {
        return specialPrice;
    }

    public void setSpecialPrice(BigDecimal specialPrice) {
        this.specialPrice = specialPrice;
    }

    public String getPoItem() {
        return poItem;
    }

    public void setPoItem(String poItem) {
        this.poItem = poItem;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public static OrderSubjectDetailResult coverToBean(OrderDetail orderDetail) {
        OrderSubjectDetailResult orderSubjectDetailResult = new OrderSubjectDetailResult();
        BeanUtils.copy(orderDetail, orderSubjectDetailResult);
        return orderSubjectDetailResult;
    }

    public static class OrderDetailResult {
        /**
         *
         * 主键ID
         */
        private Integer id;
        /**
         * 产品编号
         */
        private String productCode;
        /**
         * 产品名称
         */
        private String productName;
        /**
         * 事业部代码
         */
        private String businessCode;
        /**
         * 产品单位
         */
        private String productUnit;
        /**
         * 产品价格等级 0.正价；1.特价；2.活动款
         */
        private Integer productPriceGrade;
        /**
         * 产品价格
         */
        private BigDecimal productPrice;
        /**
         * 产品数量
         */
        private Integer productQuantity;
        /**
         * 产品数量对应的金额
         */
        private BigDecimal amount;
        /**
         * '异型调价
         */
        private BigDecimal specialPrice;
        /**
         * PO项目
         */
        private String poItem;
        /**
         * 备注
         */
        private String note;

        /**
         * 上级ID
         */
        private Integer upId;

        /**
         * 上级产品编号
         */
        private String upCode;

        /**
         * 软体标示
         */
        private String prodisrt;

        public Integer getUpId() {
            return upId;
        }

        public void setUpId(Integer upId) {
            this.upId = upId;
        }

        public String getUpCode() {
            return upCode;
        }

        public void setUpCode(String upCode) {
            this.upCode = upCode;
        }

        public String getProdisrt() {
            return prodisrt;
        }

        public void setProdisrt(String prodisrt) {
            this.prodisrt = prodisrt;
        }

        public Integer getId() {
            return id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        public String getProductCode() {
            return productCode;
        }

        public void setProductCode(String productCode) {
            this.productCode = productCode;
        }

        public String getProductName() {
            return productName;
        }

        public void setProductName(String productName) {
            this.productName = productName;
        }

        public String getBusinessCode() {
            return businessCode;
        }

        public void setBusinessCode(String businessCode) {
            this.businessCode = businessCode;
        }

        public String getProductUnit() {
            return productUnit;
        }

        public void setProductUnit(String productUnit) {
            this.productUnit = productUnit;
        }

        public Integer getProductPriceGrade() {
            return productPriceGrade;
        }

        public void setProductPriceGrade(Integer productPriceGrade) {
            this.productPriceGrade = productPriceGrade;
        }

        public BigDecimal getProductPrice() {
            return productPrice;
        }

        public void setProductPrice(BigDecimal productPrice) {
            this.productPrice = productPrice;
        }

        public Integer getProductQuantity() {
            return productQuantity;
        }

        public void setProductQuantity(Integer productQuantity) {
            this.productQuantity = productQuantity;
        }

        public BigDecimal getAmount() {
            return amount;
        }

        public void setAmount(BigDecimal amount) {
            this.amount = amount;
        }

        public BigDecimal getSpecialPrice() {
            return specialPrice;
        }

        public void setSpecialPrice(BigDecimal specialPrice) {
            this.specialPrice = specialPrice;
        }

        public String getPoItem() {
            return poItem;
        }

        public void setPoItem(String poItem) {
            this.poItem = poItem;
        }

        public String getNote() {
            return note;
        }

        public void setNote(String note) {
            this.note = note;
        }

        public static OrderDetailResult coverToBean(OrderDetail orderDetail) {
            OrderDetailResult orderDetailResult = new OrderDetailResult();
            BeanUtils.copy(orderDetail, orderDetailResult);
            return orderDetailResult;
        }
    }
}
